import os

from celery import Celery

# celery需要使用到django项目中的配置信息
# 进行Celery允许配置
# 为celery使用django配置文件进行设置
if not os.getenv('DJANGO_SETTINGS_MODULE'):
    os.environ['DJANGO_SETTINGS_MODULE'] = 'mall.settings'

# os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mall.settings")

# 以上配置加载到app创建前面


# 我们的任务,worker,broker都需要celery取协调,所以我们需要创建一个celery对象
# 创建celery对象
# 第一个参数:main
app = Celery('celery_tasks')
# 设置brock
app.config_from_object("celery_tasks.config")  # 设置路径
# 检测任务,第一个参数是列表,列表中的元素是任务包的路径,路径是从celery_tasks开始
app.autodiscover_tasks(['celery_tasks.sms','celery_tasks.email','celery_tasks.html'])

# worker是通过指令执行的
# celery -A celery实例对象的文件路径 worker -l info
# 这个指令需要在虚拟环境中执行
# celery -A celery_tasks.main worker -l info